<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>

</body>
<script>
    //promise
    //promise es6 2015才正式有promise
    function getData() {
        var obj={name:'这是从promise中获取到的数据'};
        //function中有连个参数resole,reject resole表示成功 reject 表示失败
        var promise=new Promise(function (resole,reject) {
            //这里的if判断获取数据是否成功
            var status=true;
            if(status){
                //成功的数据
                resole(obj);
            }else{
                //失败的数据
                reject({text:'你的请求失败'});
            }
        });
        return promise;
    }
    getData()
        .then(function (data) {
        console.log("成功：");
        console.log(data);
        var promise=new Promise(function (resolve,reject) {
                if(true){
                    resolve({text:'这是从第二个promise对象返回过来成功的数据'})
                }else{
                    reject({text:'这是从第二个promise对象返回的过来失败的数据'})
                }
            });
            return promise
        },function (data) {
            console.log("失败：");
            console.log(data);
        })
        .then(function (data) {
            console.log(data);
        },function (data) {
            console.log(data);
        })
    ;
//    $ajax({
//        url:'',
//        method:'get',
//        succeuss:function (data) {
//
//        }
//    })
//    $http.get('url')
//        .then(function () {
//
//        })
    //之前获取回调用函数的方法es5之前的用法
//    function getData(callback1) {
//        //获取大类
//        $.ajax()
//        var objData={name:123};
//        callback1(function (callback2) {
//            //获取子类
//          callback2(function (callback3) {
//              //获取商品列表
//              callback3(function (callback4) {
//                  //获取商品的详细
//                  callback2(function (callback3) {
//                      callback2(function (callback3) {
//                          callback2(function (callback3) {
//
//                          })
//                      })
//                  })
//              })
//          })
//        })
//    }
//    getData(function (data) {
//        data
//    })
</script>
</html>